1. Field of the Invention
The present invention relates to an apparatus and a method for controlling communication between modules which operates on processors such as a plurality of microcomputers, microprocessors, DSPs, etc.
2. Description of the Related Art
Conventionally, data is transmitted and received between processors in the manner as described below. That is, a transmission side gives numbers to transmission packets. A reception side unifies data obtaining area and determines data to be processed according to numbering information given by the transmission side at the time of receiving the data. With this, transmission and reception of data to be processed can be surely performed in order. For example, Japanese Patent Unexamined Publication No. 5-334104 discloses such technique.
Recently, it has become common to mount a plurality of processor devices and semiconductor devices such as system-on-chips on a video/audio recording apparatus and a video/audio reproducing apparatus. In these apparatuses, it is necessary to process input video/audio data within a specific limited processing time.
Let's look into a case with the conventional configuration where, for example, for communicating video data and audio data which are to be processed through a plurality of tasks (processes), the data is received after transmission of given preceding data in a vast amount. In this case, however, processing order of each processing including the processing of the preceding data is assured. Thus, reception processing and the signal processing to be performed thereafter for the following data, which is transmitted after the preceding data, are executed on the reception side after the preceding data (a vast amount of data) is received and the signal processing is carried out thereafter. In that case, it is highly possible that the time required for the entire processing exceeds an allowable processing time (above-described limited specific processing time) set in advance. For this, it is not possible to establish a system in which it is necessary to complete the processing within a specific processing time.
Further, let's look into the processing for stopping reproduction in the middle of performing audio reproduction. In that case, even if a command for stopping reproduction is transmitted under a state where the audio data is transmitted by a large amount right before, the command stopping reproduction is not processed immediately so that a response performance is bad.
In order to overcome the aforementioned shortcomings, as shown in FIG. 19, there may be a structure which separates the communication processing in accordance with the properties (data or command) of the communication processing target.
In this case, there is no dependency between each communication path and data is processed if there is any data arrived in a reception unit. Further, the order of priority is set in each communication path in advance so that the data can be processed in order according to the priority order of each communication path. With such configuration, it is possible to quickly execute the functions of reproduction, recording, stop, etc. even if the video/audio data is being transmitted by a large amount. Thus, the response performance can be improved. Furthermore, even if a plurality of data are transmitted and one of the data carries a large data amount, the data other than the data of a large transmission amount can also be received by a specific interval. Therefore, it is less likely to exceed the above-described specific processing time. Further, since each communication path is divided into a plurality of paths, it is not necessary to analyze the received data one by one for checking what the data is about. Thus, it enables to perform the processing at still higher speed.
However, each communication path is independent in the configuration where each path is divided into a plurality of paths, so that there is no assurance in the state of association between processing order of reproduction, recording, stop commands on the reception side and the data transmission order. Thus, there may cause following shortcomings.
For example, in a case where the video is rewound by three frames from the present position and the reproduction processing is performed from that data position, the transmission side, after transmitting the data to be reproduced, transmits a command for three-frame reproduction. However, there may be a case where the reception side receives the command for three-frame reproduction prior to receiving the data to be reproduced. In that case, the command is executed before receiving the video data.
Furthermore, in a case of transmitting moving-picture data and still-picture data simultaneously, the processing in the communication paths is almost uniformly performed. Thus, even if a user desires to give priority to the processing of the moving-picture data, such priority processing cannot be performed.